//package com.fingard.dsp.bank.directbank.ccb04;
//
//
//import java.io.File;
//import java.util.Date;
//
//import com.fingard.constant.Format;
//import com.fingard.dsp.bank.directbank.PaymentState;
//import com.fingard.dsp.bank.directbank.bankInterface.ISinglePay;
//import com.fingard.dsp.bank.reqrespobj.single.*;
//import com.fingard.dsp.bank.reqrespobj.single.detail.RetAtsSglDetail;
//import com.fingard.net.ConnState;
//import com.fingard.text.StringHelper;
//import com.fingard.xml.XElement;
//import com.fingard.xml.XmlTextReader;
//import com.fingard.xml.XmlTextWriter;
//
//public class CCB04SinglePay extends CCB04Base implements ISinglePay {
//
//    //单笔支付，不需采用流处理方式
//    public RetAtsSingle d_1908_SglPay(ReqSingle p_req1908) throws Exception {
//        //返回ATS的对象
//        RetAtsSingle retAts = new RetAtsSingle(p_req1908.reqHeader);
//        RetAtsSglDetail tmpRetDetail;
//        tmpRetDetail = externalPayments(p_req1908, retAts);
//        if (tmpRetDetail.respCode.equals("-1") && StringHelper.isNullOrEmpty(tmpRetDetail.reqSeqID)) {
//            tmpRetDetail.reqSeqID = p_req1908.singleDetail.askNumber;
//        }
//        retAts.writeRetDetail(tmpRetDetail);
//        return retAts;
//    }
//
//    @Override
//    public RetAtsSingleBat d_1908BAT_SglBatPay(ReqSingleBat p_req1908BAT) throws Exception {
//        return null;
//    }
//
//    //190802对外支付
//    private RetAtsSglDetail externalPayments(ReqSingle p_req1908, RetAtsSingle retAts) throws Exception {
//        RetAtsSglDetail retDetail = new RetAtsSglDetail();
//        getBnkToken();
////        if (triDesKeys != null && triDesKeys.length != 1024) {
//        if (StringHelper.hasAnyChar(bankFront.token)) {
//            if (new File(String.format("%1$s%2$s_BnkPubKey.txt", strtmpFile, bankFront.org)).exists()) {
//                if (!"".equals(bankFront.loginFlag) && !"false".equals(bankFront.loginFlag)) {
//                    transfer(p_req1908, retDetail, retAts);
//                } else {
//                    retDetail.respCode = "-1";
//                    retDetail.respInfo = "签到失败";
//                }
//            } else {
//                retDetail.respCode = "-1";
//                retDetail.respInfo = "下载银行pub密钥失败";
//            }
//        } else {
//            retDetail.respCode = "-1";
//            retDetail.respInfo = "下载银行3des密钥失败";
//        }
//        return retDetail;
//    }
//
//    //P1CMSET35 人民币单笔付款（直连无流程）,仅支持人民币
//    private RetAtsSglDetail transfer(ReqSingle p_req1908, RetAtsSglDetail retDetail, RetAtsSingle retAts) throws Exception {
//
//        txCode = "P1CMSET35";
//        reqSeqID = p_req1908.reqHeader.transSeqID;
//        Date date = new Date();
//        XmlTextWriter xmlWriterWithoutCDATA = new XmlTextWriter();//发银行报文的XML对象
//        //写入报文头部信息
//        writeCommonHeaderWithoutCDATA(xmlWriterWithoutCDATA);
//        XElement xelement = new XElement("request", "");
//        xelement.addChild(new XElement("Rule_Chk_Ind_1", "", false));
//        xelement.addChild(new XElement("Cmpt_Rltv_Jrnl_No", "", false));
//        xelement.addChild(new XElement("CstPty_TxnSrlNo", p_req1908.reqHeader.reqSeqID, false));
//        xelement.addChild(new XElement("Pyr_DpBkNm", p_req1908.singleDetail.payBankName, false));
//        xelement.addChild(new XElement("Pyr_DepBnk_No", "", false));
//        xelement.addChild(new XElement("Pyr_BnkCD", "", false));
//        xelement.addChild(new XElement("Pyr_BkCgyCd", p_req1908.singleDetail.payBankName.contains("中国建设银行") ? "01" : "02", false));//付款方行别代码=（01-本行 02-国内他行 03-国外他行)
//        xelement.addChild(new XElement("Pyr_Cst_AccNo", p_req1908.singleDetail.payAct, false));
//        xelement.addChild(new XElement("Pyr_AccNm", p_req1908.singleDetail.payName, false));
//        xelement.addChild(new XElement("Pyr_Acc_CgyCd", "", false));//01：对私；02：对公；03：银行 内部
//        xelement.addChild(new XElement("Pyr_Adr", "", false));
//        xelement.addChild(new XElement("RcvPrt_CCstTrNdID", "", false));
//        xelement.addChild(new XElement("RcvPrt_DpBkNm", p_req1908.singleDetail.cnapsName, false));
//        xelement.addChild(new XElement("RcvPrt_DepBnk_No", "", false));
//        xelement.addChild(new XElement("RcvPrt_BnkCD", p_req1908.singleDetail.cnapsCode, false));
//        xelement.addChild(new XElement("RcvPrt_BkCgyCd", p_req1908.singleDetail.recBankName.contains("中国建设银行") ? "01" : "02", false));
//        xelement.addChild(new XElement("RcvPrt_Cst_AccNo", p_req1908.singleDetail.recAct, false));
//        xelement.addChild(new XElement("RcvPtAc_Nm", p_req1908.singleDetail.recName, false));
//        xelement.addChild(new XElement("RcvPtAc_CgyCd", p_req1908.singleDetail.isPrivate.equals("1") ? "01" : "02", false));//01：对私；02：对公；03：银行内部
//        xelement.addChild(new XElement("RcvPrt_Adr", p_req1908.singleDetail.recAreaName, false));
//        xelement.addChild(new XElement("Rqs_Amt", p_req1908.singleDetail.payAmount, false));
//        xelement.addChild(new XElement("Urgnt_TpCd", p_req1908.singleDetail.paySpd.equals("1") ? "02" : "01", false));
//        xelement.addChild(new XElement("Use_Nm", p_req1908.singleDetail.purpose, false));
//        xelement.addChild(new XElement("CshMgt_Use_ID", "", false));
//        xelement.addChild(new XElement("Rmrk", p_req1908.singleDetail.memo, false));
//        xelement.addChild(new XElement("RvPy_Bdgt_Use_ID", "", false));
//        xelement.addChild(new XElement("RvPy_Bdgt_Use_Nm", "", false));
//        xelement.addChild(new XElement("Trgr_Amt", "", false));
//        xelement.addChild(new XElement("Csz_Txn_Nm", "", false));
//        xelement.addChild(new XElement("Py_Cnd_TpCd", "00", false));//付款条件类型代码==00：定金额；01：定余额；02：零余额；03：定比例；04：取整
//        xelement.addChild(new XElement("STBal_Val", "", false));
//        xelement.addChild(new XElement("Scl_Fctr", "", false));
//        xelement.addChild(new XElement("Roud_NbrOfBit", "", false));
//        xelement.addChild(new XElement("RvPy_ExMd_Cd", "0", false));//收付款执行方式代码==0：实时1：定时2：定频D
//        xelement.addChild(new XElement("Rsrvtn_Exec_Dt", Format.Date8Format.format(date), false));//预约提交日期
//        xelement.addChild(new XElement("Rsrvtn_Exec_Tm", Format.Time6Format.format(date), false));//预约提交时间
//        xelement.addChild(new XElement("Frq_MtdCd", "", false));
//        xelement.addChild(new XElement("FxFrq_Exec_Dt_Dsc", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_1", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_2", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_3", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_4", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_5", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_6", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_7", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_8", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_9", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_10", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_1", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_2", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_3", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_4", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_5", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_6", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_7", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_8", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_9", "", false));
//        xelement.addChild(new XElement("Prsz_Inf_Nm_10", "", false));
//        xelement.addChild(new XElement("Doc_Inf", "", false));
//        xelement.addChild(new XElement("Cst_Dlv_Dt", Format.Date8Format.format(date), false));//客户提交日期
//        xelement.addChild(new XElement("Cst_Dlv_Tm", Format.Time9Format.format(date), false));//客户提交时间
//        xelement.addChild(new XElement("Cst_Csz_Dt", "", false));
//        xelement.addChild(new XElement("Cst_Csz_Tm", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_1", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_2", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_3", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_4", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_5", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_6", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_7", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_8", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_9", "", false));
//        xelement.addChild(new XElement("Rsrv_Fld_10", "", false));
//        xelement.addChild(new XElement("CCBS_Fee_Sbj_Cd", "", false));//CCBS费科目代码
//        xelement.addChild(new XElement("Cst_RecAmt", "", false));//客户应收金额
//        xelement.addChild(new XElement("Ahn_Py_Agrm_No", "", false));//授权支付协议号
//        xelement.addChild(new XElement("Pyr_AccNm_Verf_Cd", "0", false));//付款方户名校验代码 ==0：不校验1：校验
//        xelement.addChild(new XElement("RcvPrt_AccNm_Verf_Cd", "1", false));//收款方户名校验代码 ==0：不校验1：校验
//        xelement.addChild(new XElement("Cst_MblPh_No", "", false));//客户手机号
//        xelement.addChild(new XElement("SMS_Cntnt", "", false));//短信
//        xelement.addChild(new XElement("Email_Adr", "", false));//邮箱地址
//        xelement.addChild(new XElement("Mail_CntDsc", "", false));
//        xelement.addChild(new XElement("CstPty_Py_Jrnl_No", p_req1908.reqHeader.reqSeqID, false));
//
//        xelement.addChild(new XElement("ASPD_ECD", "00000882", false));
//        xelement.addChild(new XElement("SChl_No", "000000000000000", false));
//        xelement.addChild(new XElement("FwCtl_Node_ID", "000000000000000", false));
//        xelement.addChild(new XElement("IttParty_Bsn_Dt", "", false));
//        xelement.addChild(new XElement("Grp_ID", "", false));
//        xelement.addChild(new XElement("Cst_ID", "", false));
//        xelement.addChild(new XElement("Prim_AR_No", "", false));
//        xelement.addChild(new XElement("Root_Node_PdAr_ID", "", false));
//        xelement.addChild(new XElement("PdAr_ID", getBankConfig().getValueAsString("payNo"), false));
//        xelement.addChild(new XElement("SvM24Hr_Ind", "0", false));
//        xelement.addChild(new XElement("Tmzon_ECD", "08", false));
//        xelement.addChild(new XElement("Rqs_Upload_File_Nm", "", false));
//        xelement.addChild(new XElement("Cmpt_Ent_ID", "0000CN000", false));
//        xelement.addChild(new XElement("WF_BIZ_ID", "", false));
//        xelement.addChild(new XElement("WF_MNPLT_TP", "", false));
//        xelement.addChild(new XElement("WF_FCN_ID", "", false));
//        xelement.addChild(new XElement("CCstTr_ID", getBankConfig().getValueAsString("treeId"), false));
//        xelement.addChild(new XElement("CCstTrNdID", getBankConfig().getValueAsString("treeNdId"), false));
//        nodeAnalysis(p_req1908.singleDetail.srcXElement, xelement, getCharset());
//        xmlWriterWithoutCDATA.writeXElement(xelement);
//        int n = xmlWriterWithoutCDATA.toXmlString().length();
//        xmlLength = decimalFormat.format(n);
//
//        XmlTextWriter xmlWriter = new XmlTextWriter();//发银行报文的XML对象
//        writeCommonHeader(xmlWriter);
//        XElement tmpXElement = new XElement("request", "");
//        tmpXElement.addChild(new XElement("Rule_Chk_Ind_1", "", true));
//        tmpXElement.addChild(new XElement("Cmpt_Rltv_Jrnl_No", "", true));
//        tmpXElement.addChild(new XElement("CstPty_TxnSrlNo", p_req1908.reqHeader.reqSeqID, true));
//        tmpXElement.addChild(new XElement("Pyr_DpBkNm", p_req1908.singleDetail.payBankName, true));
//        tmpXElement.addChild(new XElement("Pyr_DepBnk_No", "", true));
//        tmpXElement.addChild(new XElement("Pyr_BnkCD", "", true));
//        tmpXElement.addChild(new XElement("Pyr_BkCgyCd", p_req1908.singleDetail.payBankName.contains("中国建设银行") ? "01" : "02", true));//付款方行别代码=（01-本行 02-国内他行 03-国外他行)
//        tmpXElement.addChild(new XElement("Pyr_Cst_AccNo", p_req1908.singleDetail.payAct, true));
//        tmpXElement.addChild(new XElement("Pyr_AccNm", p_req1908.singleDetail.payName, true));
//        tmpXElement.addChild(new XElement("Pyr_Acc_CgyCd", "", true));//01：对私；02：对公；03：银行内部
//        tmpXElement.addChild(new XElement("Pyr_Adr", "", true));
//        tmpXElement.addChild(new XElement("RcvPrt_CCstTrNdID", "", true));
//        tmpXElement.addChild(new XElement("RcvPrt_DpBkNm", p_req1908.singleDetail.cnapsName, true));
//        tmpXElement.addChild(new XElement("RcvPrt_DepBnk_No", "", true));
//        tmpXElement.addChild(new XElement("RcvPrt_BnkCD", p_req1908.singleDetail.cnapsCode, true));
//        tmpXElement.addChild(new XElement("RcvPrt_BkCgyCd", p_req1908.singleDetail.recBankName.contains("中国建设银行") ? "01" : "02", true));
//        tmpXElement.addChild(new XElement("RcvPrt_Cst_AccNo", p_req1908.singleDetail.recAct, true));
//        tmpXElement.addChild(new XElement("RcvPtAc_Nm", p_req1908.singleDetail.recName, true));
//        tmpXElement.addChild(new XElement("RcvPtAc_CgyCd", p_req1908.singleDetail.isPrivate.equals("1") ? "01" : "02", true));
//        tmpXElement.addChild(new XElement("RcvPrt_Adr", p_req1908.singleDetail.recAreaName, true));
//        tmpXElement.addChild(new XElement("Rqs_Amt", p_req1908.singleDetail.payAmount, true));
//        tmpXElement.addChild(new XElement("Urgnt_TpCd", p_req1908.singleDetail.paySpd.equals("1") ? "02" : "01", true));
//        tmpXElement.addChild(new XElement("Use_Nm", p_req1908.singleDetail.purpose, true));
//        tmpXElement.addChild(new XElement("CshMgt_Use_ID", "", true));
//        tmpXElement.addChild(new XElement("Rmrk", p_req1908.singleDetail.memo, true));
//        tmpXElement.addChild(new XElement("RvPy_Bdgt_Use_ID", "", true));
//        tmpXElement.addChild(new XElement("RvPy_Bdgt_Use_Nm", "", true));
//        tmpXElement.addChild(new XElement("Trgr_Amt", "", true));
//        tmpXElement.addChild(new XElement("Csz_Txn_Nm", "", true));
//        tmpXElement.addChild(new XElement("Py_Cnd_TpCd", "00", true));//付款条件类型代码==00：定金额；01：定余额；02：零余额；03：定比例；04：取整
//        tmpXElement.addChild(new XElement("STBal_Val", "", true));
//        tmpXElement.addChild(new XElement("Scl_Fctr", "", true));
//        tmpXElement.addChild(new XElement("Roud_NbrOfBit", "", true));
//        tmpXElement.addChild(new XElement("RvPy_ExMd_Cd", "0", true));//收付款执行方式代码==0：实时1：定时2：定频D
//        tmpXElement.addChild(new XElement("Rsrvtn_Exec_Dt", Format.Date8Format.format(date), true));//预约提交日期
//        tmpXElement.addChild(new XElement("Rsrvtn_Exec_Tm", Format.Time6Format.format(date), true));//预约提交时间
//        tmpXElement.addChild(new XElement("Frq_MtdCd", "", true));
//        tmpXElement.addChild(new XElement("FxFrq_Exec_Dt_Dsc", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_1", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_2", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_3", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_4", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_5", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_6", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_7", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_8", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_9", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_10", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_1", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_2", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_3", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_4", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_5", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_6", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_7", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_8", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_9", "", true));
//        tmpXElement.addChild(new XElement("Prsz_Inf_Nm_10", "", true));
//        tmpXElement.addChild(new XElement("Doc_Inf", "", true));
//        tmpXElement.addChild(new XElement("Cst_Dlv_Dt", Format.Date8Format.format(date), true));//客户提交日期
//        tmpXElement.addChild(new XElement("Cst_Dlv_Tm", Format.Time9Format.format(date), true));//客户提交时间
//        tmpXElement.addChild(new XElement("Cst_Csz_Dt", "", true));
//        tmpXElement.addChild(new XElement("Cst_Csz_Tm", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_1", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_2", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_3", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_4", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_5", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_6", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_7", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_8", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_9", "", true));
//        tmpXElement.addChild(new XElement("Rsrv_Fld_10", "", true));
//        tmpXElement.addChild(new XElement("CCBS_Fee_Sbj_Cd", "", true));//CCBS费科目代码
//        tmpXElement.addChild(new XElement("Cst_RecAmt", "", true));//客户应收金额
//        tmpXElement.addChild(new XElement("Ahn_Py_Agrm_No", "", true));//授权支付协议号
//        tmpXElement.addChild(new XElement("Pyr_AccNm_Verf_Cd", "0", true));//付款方户名校验代码 ==0：不校验1：校验
//        tmpXElement.addChild(new XElement("RcvPrt_AccNm_Verf_Cd", "1", true));//收款方户名校验代码 ==0：不校验1：校验
//        tmpXElement.addChild(new XElement("Cst_MblPh_No", "", true));//客户手机号
//        tmpXElement.addChild(new XElement("SMS_Cntnt", "", true));//短信
//        tmpXElement.addChild(new XElement("Email_Adr", "", true));//邮箱地址
//        tmpXElement.addChild(new XElement("Mail_CntDsc", "", true));
//        tmpXElement.addChild(new XElement("CstPty_Py_Jrnl_No", p_req1908.reqHeader.reqSeqID, true));
//
//        tmpXElement.addChild(new XElement("ASPD_ECD", "00000882", true));
//        tmpXElement.addChild(new XElement("SChl_No", "000000000000000", true));
//        tmpXElement.addChild(new XElement("FwCtl_Node_ID", "000000000000000", true));
//        tmpXElement.addChild(new XElement("IttParty_Bsn_Dt", "", true));
//        tmpXElement.addChild(new XElement("Grp_ID", "", true));
//        tmpXElement.addChild(new XElement("Cst_ID", "", true));
//        tmpXElement.addChild(new XElement("Prim_AR_No", "", true));
//        tmpXElement.addChild(new XElement("Root_Node_PdAr_ID", "", true));
//        tmpXElement.addChild(new XElement("PdAr_ID", getBankConfig().getValueAsString("payNo"), true));
//        tmpXElement.addChild(new XElement("SvM24Hr_Ind", "0", true));
//        tmpXElement.addChild(new XElement("Tmzon_ECD", "08", true));
//        tmpXElement.addChild(new XElement("Rqs_Upload_File_Nm", "", true));
//        tmpXElement.addChild(new XElement("Cmpt_Ent_ID", "0000CN000", true));
//        tmpXElement.addChild(new XElement("WF_BIZ_ID", "", true));
//        tmpXElement.addChild(new XElement("WF_MNPLT_TP", "", true));
//        tmpXElement.addChild(new XElement("WF_FCN_ID", "", true));
//        tmpXElement.addChild(new XElement("CCstTr_ID", getBankConfig().getValueAsString("treeId"), true));
//        tmpXElement.addChild(new XElement("CCstTrNdID", getBankConfig().getValueAsString("treeNdId"), true));
//        nodeAnalysis(p_req1908.singleDetail.srcXElement, tmpXElement, getCharset());
//        xmlWriter.writeXElementWithoutTransfer(tmpXElement);
//        xmlWriter.writeEndDocument();
//
//        String[] tmpStrRet = sendToBank(xmlWriter.toXmlString());//发送给银行
//        if (tmpStrRet[0].length() == 0) {
//            StringBuilder tmpSbMsg = new StringBuilder();
//            XmlTextReader tmpBkReader = null;
//            tmpBkReader = getBankInfo(tmpStrRet[1], tmpSbMsg);
//            String xln_status = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_TX_STATUS"); // 服务状态 00-成功01-失败02-不确
//            String xln_resp_code = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_RESP_CODE"); // 服务响应码
//            String xln_resp_desc = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_RESP_DESC"); // 服务响应描述
//            if (IsResultInvlid(tmpStrRet[1], tmpBkReader, false, retAts)) {
//                if (tmpBkReader != null) {
//                    retDetail.respCode = "0";
//                    retDetail.reqSeqID = p_req1908.singleDetail.askNumber;
//                    String status = tmpBkReader.getFirstText("/Transaction/Transaction_Header/tran_response/status");
//                    String code = tmpBkReader.getFirstText("/Transaction/Transaction_Header/tran_response/code");
//                    String desc = tmpBkReader.getFirstText("/Transaction/Transaction_Header/tran_response/desc");
//                    String strResultCode = tmpBkReader.getFirstText("/Transaction/Transaction_Body/response/CshMgt_Txn_Rslt_Cd");
//                    if ("00".equals(xln_status)) {
//                        //CshMgt_Txn_Rslt_Cd 现金管理交易结果代码 (0-无此交易，1-交易成功，2-交易失败，3-处理中)
//                        retDetail.transState = xln_status + "+" + strResultCode;
//                        retDetail.payInfoCode = xln_resp_code;
//                        retDetail.respInfo = tmpBkReader.getFirstText("/Transaction/Transaction_Body/response/CshMgt_Err_Cd") + "+" + tmpBkReader.getFirstText("/Transaction/Transaction_Body/response/Err_Inf");
//                        if (StringHelper.isNullOrEmpty(retDetail.respInfo)) {
//                            retDetail.respInfo = xln_resp_desc;
//                        }
//                    } else if(StringHelper.isNullOrEmpty(strResultCode)){
//                        retDetail.transState = xln_status + "+" + status;
//                        retDetail.payInfoCode = code;
//                        retDetail.respInfo = desc;
//                    }else{
//                        retDetail.respCode = "-1";
//                        retDetail.respInfo = "银行返回报文‘SYS_TX_STATUS’节点值非‘00’,且‘CshMgt_Txn_Rslt_Cd’节点有值，不符合预期，请确认！";
//                    }
//                    retDetail.outTransID = tmpBkReader.getFirstText("/Transaction/Transaction_Body/response/CCBS_Jrnl_No");
//                }
//            } else {
//                retDetail.respCode = "-1";
//                retDetail.respInfo = xln_status + xln_resp_code + xln_resp_desc;
//            }
//        } else if (tmpStrRet[0].equals(ConnState.FAIL)) {
//            retDetail.respCode = "0";
//            retDetail.respInfo = tmpStrRet[1];
//            retDetail.reqSeqID = p_req1908.singleDetail.askNumber;
//            retDetail.transState = PaymentState.FAIL_Payment;
//            retDetail.payInfoCode = tmpStrRet[0];
//        } else {
//            retDetail.respCode = "-1";
//            retDetail.respInfo = tmpStrRet[1];
//        }
//        return retDetail;
//    }
//
//    //1944 状态查询
//    public RetAtsSingle d_1944_QrySglPay(ReqQrySingle p_req1944) throws Exception {
//        //返回ATS的对象
//        RetAtsSingle retAts = new RetAtsSingle(p_req1944.reqHeader);
//
//        RetAtsSglDetail retDetail = new RetAtsSglDetail();
//        getBnkToken();
////        if (triDesKeys != null && triDesKeys.length != 1024) {
//        if (StringHelper.hasAnyChar(bankFront.token)) {
//            if (new File(String.format("%1$s%2$s_BnkPubKey.txt", strtmpFile, bankFront.org)).exists()) {
//                if (!"".equals(bankFront.loginFlag) && !"false".equals(bankFront.loginFlag)) {
//                    txCode = "P1CMSET36";
//                    page = "1";
//
//                    XmlTextWriter xmlWriterWithoutCDATA = new XmlTextWriter();//发银行报文的XML对象
//                    //写入通用的头部节点
//                    writeCommonHeaderWithoutCDATA(xmlWriterWithoutCDATA);
//                    xmlWriterWithoutCDATA.writeStartElement("request");
//                    String bgnDate = p_req1944.bgnDate.substring(0, 4) + p_req1944.bgnDate.substring(5, 7) + p_req1944.bgnDate.substring(8, 10);
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_StDt", bgnDate, true);//查询起始日期
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_CODt", bgnDate, true);//查询截止日期
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Dt_TpCd", "2", true);//查询日期类型代码=(1：客户录入日期2：客户提交日期)
//                    xmlWriterWithoutCDATA.writeElementString("Pyr_Cst_AccNo", p_req1944.payAct, true);//付款方客户账号
//                    xmlWriterWithoutCDATA.writeElementString("Pyr_AccNm", "", true);//付款方账户名称
//                    xmlWriterWithoutCDATA.writeElementString("CshMgt_Txn_Rslt_Cd", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Strt_Amt", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("Tmt_Amt", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("RcvPrt_Cst_AccNo", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("RcvPtAc_Nm", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("Cmpt_Rltv_Jrnl_No", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("CstPty_Py_Jrnl_No", p_req1944.reqHeader.reqSeqID, true);//客户方支付流水号
//                    xmlWriterWithoutCDATA.writeElementString("Py_Cnd_TpCd", "00", true);//付款条件类型代码
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Strt_STBal_Val", "", true);//查询开始定余额值
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Tmt_STBal_Val", "", true);//查询终止定余额值
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Strt_Scl_Ceft", "", true);//查询开始定比例系数
//                    xmlWriterWithoutCDATA.writeElementString("Enqr_Tmt_Scl_Ceft", "", true);//查询终止定比例系数
//                    xmlWriterWithoutCDATA.writeElementString("Roud_NbrOfBit", "", true);
//                    xmlWriterWithoutCDATA.writeElementString("ASPD_ECD", "00000882", true);
//                    writeComEntityWithoutCDATA(xmlWriterWithoutCDATA);
//                    xmlWriterWithoutCDATA.writeEndDocument();
//                    int n = xmlWriterWithoutCDATA.toXmlString().length();
//                    xmlLength = decimalFormat.format(n);
//
//                    XmlTextWriter xmlWriter = new XmlTextWriter();//发银行报文的XML对象
//                    writeCommonHeader(xmlWriter);
//                    xmlWriter.writeStartElement("request");
//                    xmlWriter.writeElementCDATA("Enqr_StDt", bgnDate);//查询起始日期
//                    xmlWriter.writeElementCDATA("Enqr_CODt", bgnDate);//查询截止日期
//                    xmlWriter.writeElementCDATA("Enqr_Dt_TpCd", "2");//查询日期类型代码=(1：客户录入日期2：客户提交日期)
//                    xmlWriter.writeElementCDATA("Pyr_Cst_AccNo", p_req1944.payAct);//付款方客户账号
//                    xmlWriter.writeElementCDATA("Pyr_AccNm", "");//付款方账户名称
//                    xmlWriter.writeElementCDATA("CshMgt_Txn_Rslt_Cd", "");
//                    xmlWriter.writeElementCDATA("Enqr_Strt_Amt", "");
//                    xmlWriter.writeElementCDATA("Tmt_Amt", "");
//                    xmlWriter.writeElementCDATA("RcvPrt_Cst_AccNo", "");
//                    xmlWriter.writeElementCDATA("RcvPtAc_Nm", "");
//                    xmlWriter.writeElementCDATA("Cmpt_Rltv_Jrnl_No", "");
//                    xmlWriter.writeElementCDATA("CstPty_Py_Jrnl_No", p_req1944.reqHeader.reqSeqID);//客户方支付流水号
//                    xmlWriter.writeElementCDATA("Py_Cnd_TpCd", "00");//付款条件类型代码
//                    xmlWriter.writeElementCDATA("Enqr_Strt_STBal_Val", "");//查询开始定余额值
//                    xmlWriter.writeElementCDATA("Enqr_Tmt_STBal_Val", "");//查询终止定余额值
//                    xmlWriter.writeElementCDATA("Enqr_Strt_Scl_Ceft", "");//查询开始定比例系数
//                    xmlWriter.writeElementCDATA("Enqr_Tmt_Scl_Ceft", "");//查询终止定比例系数
//                    xmlWriter.writeElementCDATA("Roud_NbrOfBit", "");
//                    xmlWriter.writeElementCDATA("ASPD_ECD", "00000882");
//                    writeComEntity(xmlWriter);
//                    xmlWriter.writeEndDocument();
//                    try {
//                        String[] tmpStrRet = sendToBank(xmlWriter.toXmlString());
//                        if (tmpStrRet[0].length() == 0) {
//                            StringBuilder tmpSbMsg = new StringBuilder();
//                            XmlTextReader tmpBkReader = null;
//                            tmpBkReader = getBankInfo(tmpStrRet[1], tmpSbMsg);
//                            String xln_status = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_TX_STATUS"); // 服务状态
//                            String xln_resp_code = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_RESP_CODE"); // 服务响应码
//                            String xln_resp_desc = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_RESP_DESC"); // 服务响应描述
//                            if (IsResultInvlid(tmpStrRet[1], tmpBkReader, false, retAts)) {
//                                if (tmpBkReader != null) {
//                                    //SYS_TX_STATUS 服务状态 00-成功01-失败02-不确
//                                    String strStatusCode = tmpBkReader.getFirstText("/Transaction/Transaction_Header/SYS_TX_STATUS");
//                                    while (tmpBkReader.read("/Transaction/Transaction_Body/response/LIST1")) {
//                                        //CshMgt_Txn_Rslt_Cd 现金管理交易结果代码 (0-无此交易，1-交易成功，2-交易失败，3-处理中)
//                                        String strResultCode = tmpBkReader.readedXElement.getSingleText("CshMgt_Txn_Rslt_Cd");
//                                        retDetail.respCode = "0";
//                                        retDetail.respInfo = tmpBkReader.readedXElement.getSingleText("Err_Inf");
//                                        retDetail.payInfoCode = tmpBkReader.readedXElement.getSingleText("CshMgt_Err_Cd");
//                                        retDetail.transState = strStatusCode + "+" + strResultCode;
//                                        retDetail.reqSeqID = p_req1944.askNumber;
//                                        retDetail.transAmt = tmpBkReader.readedXElement.getSingleText("Rqs_Amt");
//                                        retDetail.outTransID = tmpBkReader.readedXElement.getSingleText("CCBS_Jrnl_No");
//                                    }
//                                } else {
//                                    retDetail.respCode = "-1";
//                                    retDetail.respInfo = tmpSbMsg.toString();
//                                }
//                            } else {
//                                retDetail.respCode = "-1";
//                                retDetail.respInfo = xln_status + xln_resp_code + xln_resp_desc;
//                            }
//                        } else {
//                            retDetail.respCode = "-1";
//                            retDetail.respInfo = tmpStrRet[1];
//                        }
//                    } catch (Exception e) {
//                        retDetail.respCode = "-1";
//                        retDetail.respInfo = e.getMessage();
//                        e.printStackTrace();
//                    }
//                } else {
//                    retDetail.respCode = "-1";
//                    retDetail.respInfo = "签到失败";
//                }
//            } else {
//                retDetail.respCode = "-1";
//                retDetail.respInfo = "下载银行pub密钥失败";
//            }
//        } else {
//            retDetail.respCode = "-1";
//            retDetail.respInfo = "下载银行3des密钥失败";
//        }
//        retAts.writeRetDetail(retDetail);
//        return retAts;
//    }
//
//    @Override
//    public RetAtsSingleBat d_1944BAT_QrySglBatPay(ReqQrySingleBat p_req1944BAT) throws Exception {
//        return null;
//    }
//}
